package com.ruoyi.period.mapper;

import java.util.List;

import com.ruoyi.period.domain.Client;
import com.ruoyi.period.domain.Employees;
import com.ruoyi.period.domain.Myclass;
import org.apache.ibatis.annotations.Param;

/**
 * 课期Mapper接口
 *
 * @author ruoyi
 * @date 2021-11-05
 */
public interface MyclassMapper {
    /**
     * 查询课期
     *
     * @param id 课期主键
     * @return 课期
     */
    public Myclass selectMyclassById(Long id);

    /**
     * 查询课期列表
     *
     * @param myclass 课期
     * @return 课期集合
     */
    public List<Myclass> selectMyclassList(Myclass myclass);

    /**
     * 新增课期
     *
     * @param myclass 课期
     * @return 结果
     */
    public int insertMyclass(Myclass myclass);

    /**
     * 修改课期
     *
     * @param myclass 课期
     * @return 结果
     */
    public int updateMyclass(Myclass myclass);

    /**
     * 删除课期
     *
     * @param id 课期主键
     * @return 结果
     */
    public int deleteMyclassById(Long id);

    /**
     * 批量删除课期
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMyclassByIds(Long[] ids);

    /**
     * @param id 课程id
     * @return 所有可以选择的助教
     */
    public List<Client> selectClientByCourseId(@Param("courseId") Long courseId);


    /**
     * @return 返回所有班主任
     */
    public List<Employees> selectEmployees();


    /**
     * 批量添加助教
     *
     * @param clients 多个助教id
     * @return 添加个数
     */
    public int insertClientClass(@Param("clientList") List<Integer> clientList, @Param("classId") Long classId);
}
